<template>
  <div>
    <template v-for="(item, index) in options">
      <template v-if="values.includes(item.value)">
        <span
          v-if="item.raw.listClass == 'default' || item.raw.listClass == ''"
          :key="item.value"
          :index="index"
          :class="item.raw.cssClass"
          >{{ item.label }}
        </span>
        <ElTag
          v-else
          :key="item.value"
          :disable-transitions="true"
          :index="index"
          :type="item.raw.listClass === 'primary' ? '' : item.raw.listClass"
          :class="item.raw.cssClass">
          {{ item.label }}
        </ElTag>
      </template>
    </template>
  </div>
</template>

<script>
  export default {
    name: 'DictTag',
    props: {
      options: {
        type: Array,
        default: null
      },
      value: [Number, String, Array]
    },
    computed: {
      values() {
        if (this.value !== null && typeof this.value !== 'undefined') {
          return Array.isArray(this.value) ? this.value : [String(this.value)]
        } else {
          return []
        }
      }
    }
  }
</script>

<style scoped>
  .el-tag + .el-tag {
    margin-left: 10px;
  }
</style>
